package com.yunji.base.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunji.base.domain.SiteScaleDO;
import com.yunji.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author : peter-zhu
 * @date : 2024/12/13 11:40
 * @description : TODO
 **/
@Data
public class SiteInfoVO implements Serializable {
    private static final long serialVersionUID = 8867318815567053909L;

    @Excel(name = "主键ID", width = 15)
    private Long id;

    @ApiModelProperty("代理商ID")
    private Long belongId;

    @ApiModelProperty("网点类型")
    @Excel(name = "网点类型", width = 15)
    private Integer siteType;

    @ApiModelProperty("网点名称")
    @Excel(name = "网点名称", width = 15)
    private String siteName;

    @ApiModelProperty("网点联系人")
    @Excel(name = "网点联系人", width = 15)
    private String siteContacts;

    @ApiModelProperty("网点联系人手机号")
    @Excel(name = "网点联系人手机号", width = 15)
    private String siteTel;

    @ApiModelProperty("省份名称")
    @Excel(name = "省份名称", width = 15)
    private String provinceName;

    @ApiModelProperty("省份代码")
    private String provinceCode;

    @ApiModelProperty("城市名称")
    @Excel(name = "城市名称", width = 15)
    private String cityName;

    @ApiModelProperty("城市代码")
    private String cityCode;

    @ApiModelProperty("区县名称")
    @Excel(name = "区县名称", width = 15)
    private String countyName;

    @ApiModelProperty("区县代码")
    private String countyCode;

    @ApiModelProperty("网点地址")
    @Excel(name = "网点地址", width = 15)
    private String region;

    @ApiModelProperty("网点详细地址")
    @Excel(name = "网点详细地址", width = 15)
    private String address;

    @ApiModelProperty("状态 0-正常 1-禁用")
    @Excel(name = "状态 0-正常 1-禁用", width = 15)
    private Integer status;

    @ApiModelProperty("网点分成合同开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date siteScaleDates;

    @ApiModelProperty("网点分成合同结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date siteScaleDatee;

    @ApiModelProperty("删除状态 0-未删除 1-已删除")
    @Excel(name = "删除状态 0-未删除 1-已删除", width = 15)
    private Integer delFlag;

    @ApiModelProperty("代理商ID")
    private Long agentId;

    @ApiModelProperty("代理商名称")
    private String agentName;

    @ApiModelProperty("自定义价格, 默认为0")
    private Integer customPrice = 0;

    @ApiModelProperty(value = "提点设置 0-不分成 1-按交易金额 2-按交易笔数, 默认为:0")
    private Integer scaleType = 0;

    @ApiModelProperty(value = "分成比例/每笔金额, 默认:0")
    private BigDecimal scale = BigDecimal.ZERO;

    @ApiModelProperty("累计收益")
    private BigDecimal earnAmount = BigDecimal.ZERO;

    @ApiModelProperty("提现金额")
    private BigDecimal cashAmount = BigDecimal.ZERO;

    @ApiModelProperty("账户余额")
    private BigDecimal remainAmount = BigDecimal.ZERO;

    @ApiModelProperty("冻结金额")
    private BigDecimal frozenAmount = BigDecimal.ZERO;

    @ApiModelProperty("退款金额")
    private BigDecimal refundAmount = BigDecimal.ZERO;

    @ApiModelProperty("按年限分润集合")
    private List<SiteScaleDO> siteScaleList;

    @ApiModelProperty("创建时间")
    private Date createTime;
}
